#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Core;
using Cephei.Core.Generic;
using Microsoft.FSharp.Core;
namespace Cephei.QL.Math.Distributions
{
    /// <summary> 
	/// ! The implementation derives from the article "Better Approximations To Cumulative Normal Distibutions", Graeme West, Dec 2004 available at www.finmod.co.za. Also available in Wilmott Magazine, 2005, (May), 70-76, The main code is a port of the C++ code at www.finmod.co.za/cumfunctions.zip.  The algorithm is based on the near double-precision algorithm described in "Numerical Computation of Rectangular Bivariate an Trivariate Normal and t Probabilities", Genz (2004), Statistics and Computing 14, 151-160. (available at www.sci.wsu.edu/math/faculty/henz/homepage)  The QuantLib implementation mainly differs from the original code in two regards; - The implementation of the cumulative normal distribution is QuantLib::CumulativeNormalDistribution - The arrays XX and W are zero-based  \test the correctness of the returned value is tested by checking it against known good results.
	/// </summary>
    [Guid ("7EDEE1DD-C004-460f-8924-A521A8549E30"),ComVisible(true)]
	public interface IBivariateCumulativeNormalDistributionWe04DP 
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
    }   

    /// <summary> 
	/// ! The implementation derives from the article "Better Approximations To Cumulative Normal Distibutions", Graeme West, Dec 2004 available at www.finmod.co.za. Also available in Wilmott Magazine, 2005, (May), 70-76, The main code is a port of the C++ code at www.finmod.co.za/cumfunctions.zip.  The algorithm is based on the near double-precision algorithm described in "Numerical Computation of Rectangular Bivariate an Trivariate Normal and t Probabilities", Genz (2004), Statistics and Computing 14, 151-160. (available at www.sci.wsu.edu/math/faculty/henz/homepage)  The QuantLib implementation mainly differs from the original code in two regards; - The implementation of the cumulative normal distribution is QuantLib::CumulativeNormalDistribution - The arrays XX and W are zero-based  \test the correctness of the returned value is tested by checking it against known good results. Factory
	/// </summary>
   	[ComVisible(true)]
    public interface IBivariateCumulativeNormalDistributionWe04DP_Factory 
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        /// <summary> 
		/// 
		/// </summary>
	    IBivariateCumulativeNormalDistributionWe04DP Create (Double rho);
    }
}

